package h_eekwan.basic;

import java.util.Scanner;

import h_eekwan.module.SungJukVO;
import h_eekwan.service.JDBCSungJuk;

public class J19_SungJuk_v6 {
	private static final String title = "JDBC를 이용한 성적프로그램";
	private static final String menu = " >>> 추가(1)  조회(2)  수정(3)  삭제(4)  종료(0)";
	private static final String addmsg = " 이름, 국어, 영어, 수학 순으로 입력해주세요.";
	private static final String modmsg1 = " 수정할 데이터 번호를 입력하세요";
	private static final String modmsg2 = " 수정할 데이터를 이름, 국어, 영어, 수학 순으로 입력 ";
	private static final String remmsg = " 삭제할 데이터 번호를 입력하세요.";
		
	public static void main(String[] args) {
		// 오라클 데이터 베이스를 이용한 성적 처리
		// ArraySungJuk 대신 JDBCSungJuk으로 변경
		
		JDBCSungJuk sjsrv = new JDBCSungJuk();
		
		Scanner sc = new Scanner(System.in);
		while(true){
			System.out.println( title );
			System.out.println(menu);
			switch( sc.nextInt() ) {
				case 0 : sc.close(); 
						System.exit(0);						
						break;
				case 1 : addSungJuk(sc, sjsrv);
						break;
				case 2 : showSungJuk(sjsrv) ;
				
						break;
				case 3 : modifySungJuk(sc, sjsrv);
						break;
				case 4 : removeSungJuk(sc, sjsrv);
				break;
				
			}	// switch
			
		}	// while 문	
	} // main
	
	private static void removeSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());	// 삭제하기 전에 전체자료 먼저 출력
		System.out.println(remmsg);
		String sjno = sc.next();	// 삭제할 학생번호 입력
		sjsrv.removeSungJuk(sjno);
		System.out.println( " 성공적으로 데이터 삭제됨! ");
	}

	private static void modifySungJuk(Scanner sc, JDBCSungJuk sjsrv) {
		System.out.println(sjsrv.readSungJuk());
		System.out.println( modmsg1 );
		String sjno = sc.next();	// 수정할 학생 번호 입력
		System.out.println(modmsg2);
		SungJukVO sj = new SungJukVO(sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt());
		sj.setSjno(sjno);	// !!
		sjsrv.modifySungJuk(sj);
		System.out.println(" 성공적으로 데이터 수정됨! ");
		
	}

	public static void addSungJuk(Scanner sc, JDBCSungJuk sjsrv) {
			System.out.println(addmsg);
				SungJukVO sj = new SungJukVO
						(sc.next(), sc.nextInt(), sc.nextInt(), sc.nextInt() );
		
		// 성적 데이터 입력받아 배열에 저장	
		sjsrv.newSungJuk(sj);
		System.out.println(" 성공적으로 데이터 저장됨! ");
		
	}
	// 배열에 저장된 성적데이터 모두 출력
	public static void showSungJuk(JDBCSungJuk sjsrv){
		
		System.out.println(sjsrv.readSungJuk());	
		System.out.println(" 성공적으로 데이터 조회됨! ");
	}// sungjuk테이블에 저장된 성적데이터 모두 출력
	
	
}	// class
